home *** CD-ROM | disk | FTP | other *** search
/ Aminet 32 / Aminet 32 (1999)(Schatztruhe)[!][Aug 1999].iso / Aminet / comm / misc / Camedia.readme < prev    next >
Text File  |  1999-07-01  |  11KB  |  265 lines

  1. Short:    Transfers pictures from digital camera (Olympus Camedia) to Amiga
  2. Author:   afleuti@iiic.ethz.ch (Andreas Patrick Fleuti)
  3. Uploader: afleuti@iiic.ethz.ch (Andreas Patrick Fleuti)
  4. Version:  0.42 beta
  5. Type:     comm/misc
  6.  
  7. This is the fourth beta version of Camedia.
  8. Camedia is a the name of my digital camera from Olympus.
  9. To be precise, it's name is Camedia C-900 Zoom, in US, the same camera is called 400Z.
  10.  
  11.  
  12. What does the program:
  13. ----------------------
  14. - copy pictures from the camera to the computer
  15. - copy thumbnails (tiny pictures) from the camera to the computer
  16. - shows some infos about the camera and it's pictures
  17. - shows a preview
  18. - delete pictures
  19.  
  20.  
  21. What's new:
  22. -----------
  23.  
  24. 0.42 beta
  25. Should now work with C400L
  26.  
  27. 0.41 beta
  28. I thought thumbails can't get bigger then about 4KB. Well I was wrong. 
  29. I set the buffer now dynamicly, which should be fine for all thumbails.
  30.  
  31. 0.4 beta
  32. Implemented new commands like 
  33. - TAKE_PICTURE, which asks the camera to take a picture, 
  34. - THUMBNAILS, is like RETR (retrieve) but instead of the big_picture, the camera sends a tiny one
  35.   (my jpeg.datatype was unable to load that tiny jpeg picture, but PhotoAlbum could do it)
  36. - DEL, which deletes pictures (* be careful about that, You won't get asked if You are sure! *)
  37.  
  38. I also changed the code from C++ back to C and here are the reasons why:
  39. The StormC compiler was UNABLE to compile my code. This behavior (this bug) is known, but
  40. there is no fix for it. This way, in C, everybody can extend my code with StormC without hoping the
  41. compiler will be nice as it was in C++.
  42. The bad news (just for programmers) is that they must take care of my own implementaion of try/catch 
  43. which is easy to understand. Also the functionoverloading (dump) was changed because of C.
  44.  
  45.  
  46. 0.3 beta
  47. The hardcoded DisplayID is gone. So the PREVIEW mode shows each time a screen mode requester.
  48. The restriction to true color mode is still there (16Bit, 24Bit works, I guess 15Bit too).
  49.  
  50. Fixed the unit-bug. Even You set the unit, the 0.2 beta version always used unit 0.
  51.  
  52. The source code is freely available. I decided to make it public, so everybody can enjoy it more.
  53. [Take a look at the infos about the source code at the end of this file]
  54.  
  55. 0.2 beta
  56. You don't need any longer 600 KB free memory.
  57. The memory requirements are about 50 KB when retrieving pictures or using the info function.
  58. When using the preview function, You need about 300 KB, Cybergraphics, jpeg.library and a 24Bit Graphic-Board.
  59.  
  60. The old restriction using the serial.device at 57600 Baud is obsolote.
  61. You can set the device, the unit and the speed (9600, 19200, 38400, 57600 or 115200).
  62.  
  63. You can choose, which picture you like to retrive (from x to y).
  64.  
  65. You can set the name, the retrieved picture should have.
  66. The camera saves for each picture when it was taken. This is saved (as before) in the comment.
  67. However, if this date doesn't make real sense, the comment will be set to "No Date" (that's new).
  68.  
  69. There is an info function. This shows you many information about your camera, and the stored pictures.
  70.  
  71. A preview function, which turns your camera into a (inexpensive ?) video camera.
  72. This way, You can watch yourself at your display :) 
  73. To use this feature, you need:
  74. - about 300 KB memory for the program (plus some more for the 24 Bit screen)
  75. - jpeg.library, which can be found at Aminet
  76. - Cybergraphics
  77. - a graphic card, which has the DisplayID  0x40120051 (24Bit, 640x480, Cybervision?)
  78. P.S. (BestCModeIDTags() seems not work for me...that's why DisplayID is hardcoded) 
  79.  
  80. You are able to retrieve uncompressed pictures. The old version crashes when you try to get 
  81. uncompressed pictures! the uncompressed pictures will be saved in tiff, but it's filename ends with
  82. .jpeg - next version will be better :)
  83.  
  84.  
  85. Requirements: 
  86. -------------
  87. OS 3.0 or higher (should work with OS 2.1 as well)
  88. normaly about 50 KB free memory
  89. a Camedia digital camera from Olympus
  90.  
  91.  
  92. for the preview function, you need:
  93. -----------------------------------
  94. about 300 KB memory for the program (plus some more for the true color screen)
  95. jpeg.library, which can be found at Aminet
  96. Cybergraphics
  97. a graphic card
  98.  
  99.  
  100.  
  101. How to use this software:
  102. ------------------------
  103. - Connect the camera to the serial port and turn the camera on.
  104.  
  105. - Open a shell where you have access to the program Camedia.
  106.  
  107.  
  108. INFO:
  109. =====
  110. - type "Camedia INFO" to get infos about your camera
  111.  
  112.  
  113. RETR:
  114. =====
  115. - type "Camedia RETR" to get all pictures, which will be stored localy.
  116.   The pictures will have the name "picture_1.jpeg", "picture_2.jpeg" and so on.
  117.   
  118. - type "Camedia RETR from 3" to get the pictures 3, 4, and so on 
  119.  
  120. - type "Camedia RETR from 3 to 5" to get the pictures 3, 4 and 5
  121.  
  122. - type "Camedia RETR from 3 to 3" to get only the picture 3.
  123.  
  124. - type "Camedia RETR to 3" to get the picture 1, 2 and 3.
  125.  
  126. THUMBAILS:
  127. ==========
  128. This behaves exactly like RETR except that it get thumbnails instead of the big pictures.
  129.  
  130. - type "Camedia THUMBAILS" to get all thumbnails (tiny pictiures), which will be stored localy.
  131.   The thumbails will have the name "picture_1.jpeg", "picture_2.jpeg" and so on.
  132.  
  133. DEL:
  134. ====
  135. This behaves exactly like RETR except that it will delete instead of getting the big pictures.
  136. WARNING: The software won't ask you if you realy like to delete the picture in the camera, so be careful.
  137.  
  138.  
  139. Options for RETR or THUMBNAILS:
  140. -------------------------------
  141. - type "Camedia RETR Name my_name" to get all picture, which will get the name 
  142.   "my_name_1.jpeg", "my_name_2.jpeg" and so on.
  143.  
  144.  
  145. Note:
  146. ----
  147. If You have an uncompressed picture, then it will be saved in the format tiff.
  148. However, the filename ends with .jpeg. Next release will be better :)
  149.  
  150. Make sure you have enough disk space for the pictures. The disk should be reasonable fast
  151. (so if You wanna use floppy, ok, but then make sure, no other program access the floppy).
  152.  
  153. PREVIEW:
  154. ========
  155. - type "Camedia PREVIEW" to use your camera as a video camera.
  156.   You can resize the window. To quit, close the window.
  157.  
  158.  
  159. Important options:
  160. ==================
  161. In all the modes (INFO, THUMBNAILS, RETR, DEL and PREVIEW), you can set device, the devie unit and the speed.
  162.  
  163. - type "Camedia DEVICE my_serial.device UNIT 0 SPEED 115200 RETR" to get all pictures.
  164.  
  165.  
  166. Notes:
  167. -----
  168. The program will NOT delete the pictures in the camera when You just retrieve the pictures.
  169. However, in the mode DEL (delete), the program DOES delete the pictures in the camera.
  170. If You like to stop the program, do a CTRL-C or CTRL-F.
  171.  
  172.  
  173. Problems:
  174. --------
  175. If there is a problem, You will get some hints, but they are mainly useful for
  176. me, maybe not so much for You.
  177. Reading from the camera fails sometimes when
  178. - You type some text during the program tries to make some output on the console *
  179. - You press the right mouse button very long
  180. - Your computer is very busy
  181. - the batteries of Your camera are too low **
  182.  
  183. * when You type some text in the console, the program might can't go on.
  184.   Cause the camera will disconnect after a while (maybe five seconds), when not
  185.   retrieving any data from the computer, You shouldn't type in the console the
  186.   program is running.
  187.  
  188. ** Well, right now, that's Your task. In future, I might will warn You "batteries
  189.    are low", cause I can read the capacity of the batteries with a command.
  190.    
  191. -----------------------------------------------------------------------------------------------
  192.    Important: If you have any problem (like timeout), make sure to put fully charged batteries
  193.               in your camera. If you still have problem, e-mail me.
  194. -----------------------------------------------------------------------------------------------
  195.  
  196.  
  197. Must it be a Camedia digital camera from Olympus?
  198. ------------------------------------------------
  199. The protocol to communicate with digital cameras seems to be very much the same
  200. for many cameras like Fuji, Epson, Sanjo, Agfa and Olympus.
  201. The problem is the protocol is NOT official available, but there is some good
  202. information at:
  203. http://www.average.org/digicam/
  204.  
  205. So probably, this program works also with other digital cameras. Please tell me Your
  206. experiences.
  207.  
  208.  
  209. Is the program dangerous for my camera?
  210. --------------------------------------
  211. Of course I don't guarantee anything, except that it worked for me five minutes ago.
  212. I played a lot with my camera, and sometimes I got strange behaviors. Till today, I
  213. was unable to destroy or damage my camera by sending commands to it.
  214. To make a conclusion out of my experiences is up to Your risk.
  215.  
  216.  
  217. Infos about the source code
  218. ---------------------------
  219.  
  220. The source code is split up in two parts.
  221. Camedia.c has many nice functions, it does the communication and some more.
  222. camprg.c is an example how to use the functions in Camedia.c
  223.  
  224. Camedia.h is pretty important, cause all constants, definitions and prototypes are set there.
  225.  
  226. Please study http://www.average.org/digicam/ 
  227. There you can find many infos about how the protocol looks like. You don't neet this infos,
  228. but of course it helps a lot. To get an overview of the available register, it's helpful.
  229.  
  230. There are two ways to use Camedia.c's function. 
  231. The easy way is to use the Set_XXX(...) and Get_XXX(...) functions.
  232. These functions are wrappers to make your life easier (I hope so :)
  233. The other way to use Camedia.c's function is more direct.
  234. For that, You have only these four functions:
  235.  
  236. void SetIntegerRegister(enum Command_0, L4, error_msg);
  237. void ReadIntegerRegister(enum Command_1, L4 *, error_msg);
  238. void TakeAction(enum Action_Code action, L1 arg, error_msg);
  239. void ReadVDataRegister(enum Command_4, L1 *, L4 *, error_msg);
  240.  
  241. There should be a fifth function, but I did't implement this one:
  242. (NOT implemented yet: void SetVDataRegister(enum Command_3, L1 *, L4);  )
  243.  
  244. the error_msg is of type char*. It's used instead of try and catch. Whenever a error occured in the
  245. function, it will return AND it will have an explaining message in error_msg, which You can and maybe
  246. should printf("%s\n", error_msg);
  247.  
  248. The code itself should be clear.
  249. The 'not so nice' part of Camedia.h is the macro definition (header files shouldn't contain code...)
  250.  
  251.  
  252. ============================= Archive contents =============================
  253.  
  254. Original  Packed Ratio    Date     Time    Name
  255. -------- ------- ----- --------- --------  -------------
  256.    37776   17860 52.7% 26-Jun-99 10:53:56  Camedia
  257.    34679    7382 78.7% 26-Jun-99 10:53:56  Camedia.c
  258.    11833    2965 74.9% 26-Jun-99 10:53:56  Camedia.h
  259.    10084    3997 60.3% 26-Jun-99 10:53:56  Camedia.readme
  260.     1344     495 63.1% 26-Jun-99 10:53:56  Camedia.¶
  261.    16354    4799 70.6% 26-Jun-99 10:53:56  camprg.c
  262.     4301    1339 68.8% 26-Jun-99 10:53:56  camprg.h
  263. -------- ------- ----- --------- --------
  264.   116371   38837 66.6% 26-Jun-99 18:49:48   7 files
  265.